/** 驱动节点 */
export interface DriverNode {
  /** 编号 */
  Id: string | bigint;

  /** 驱动名称 */
  Name: string;
  /** 驱动描述 */
  Description: string;

  /** 启动文件 驱动程序包主启动DLL文件名称(含后缀名) */
  StartupFile: string;
  /** 启动类 驱动程序包启动DLL文件中入口类全称，为空时查找继承IDriver接口的实现类 */
  StartupClass: string;
  /** 程序包路径 */
  PackagePath: string;

  /** 启用 */
  Enabled: boolean;

  /** 备注 */
  Remark: string;

  /** 是否选中 */
  IsChecked: boolean;
}

/** 简单输入DTO：驱动 */
export interface DriverInputDtoSimple {
  /** 编号 */
  Id: string | bigint;

  /** 驱动名称 */
  Name: string;
  /** 驱动描述 */
  Description: string;

  /** 启动文件 驱动程序包主启动DLL文件名称(含后缀名) */
  StartupFile: string;
  /** 启动类 驱动程序包启动DLL文件中入口类全称，为空时查找继承IDriver接口的实现类 */
  StartupClass: string;
  /** 程序包路径 */
  PackagePath: string;

  /** 启用 */
  Enabled: boolean;

  /** 备注 */
  Remark: string;
}
/** 输入DTO：驱动 */
export interface DriverInputDto extends DriverInputDtoSimple {
  /** 驱动程序包 */
  Package?: DriverPackageInputDto;
}

/** 简单输出DTO：驱动 */
export interface DriverOutputDtoSimple extends DriverInputDtoSimple {
  /** 创建者编号 */
  CreatorId: string | bigint | null | undefined;
  /** 创建者名称 */
  CreatorName: string;
  /** 创建者昵称 */
  CreatorNickname: string;
  /** 创建时间 */
  CreatedTime: Date;

  /** 更新者编号 */
  UpdaterId: string | bigint | null | undefined;
  /** 更新者名称 */
  UpdaterName: string;
  /** 更新者昵称 */
  UpdaterNickname: string;
  /** 更新时间 */
  UpdatedTime?: Date | null;
}
/** 输出DTO：驱动 */
export interface DriverOutputDto extends DriverOutputDtoSimple {
  /** 驱动程序包 */
  Package?: DriverPackageOutputDto;
}

/** 输入DTO：驱动程序包 */
export interface DriverPackageInputDto {
  /** 编号 */
  Id: string | bigint;

  /** 驱动编号 */
  DriverId: string | bigint;

  /** 包名称 */
  Name: string;
  /** 包内容 */
  Content: string;

  /** 描述 */
  Description: string;
  /** 备注 */
  Remark: string;
}
/** 输出DTO：驱动程序包 */
export interface DriverPackageOutputDto extends DriverPackageInputDto {
  /** 创建者编号 */
  CreatorId: string | bigint | null | undefined;
  /** 创建者名称 */
  CreatorName: string;
  /** 创建者昵称 */
  CreatorNickname: string;
  /** 创建时间 */
  CreatedTime: Date;

  /** 更新者编号 */
  UpdaterId: string | bigint | null | undefined;
  /** 更新者名称 */
  UpdaterName: string;
  /** 更新者昵称 */
  UpdaterNickname: string;
  /** 更新时间 */
  UpdatedTime?: Date | null;
}
